# 从Django的http模块中导入JsonResponse，用于返回JSON格式的响应
from django.http import JsonResponse
# 从game应用的models中导入Player模型
from game.models.player.player import Player

# 定义一个视图函数，用于处理来自ACAPP平台的请求
def getinfo_acapp(request):
    # 从Player模型中获取所有实例的第一个
    player = Player.objects.all()[0]
    # 返回一个JSON响应，包含结果状态、用户名和玩家照片URL
    return JsonResponse({
        'result': "success",
        'username': player.user.username,  # 获取关联用户的用户名
        'photo': player.photo,  # 获取玩家的照片URL
    })

# 定义一个视图函数，用于处理来自Web平台的请求
def getinfo_web(request):
    # 获取当前请求的用户
    user = request.user
    # 检查用户是否已登录
    if not user.is_authenticated:
        # 如果用户未登录，返回一个包含未登录结果的JSON响应
        return JsonResponse({
            'result': "未登录"
        })
    else:
        # 如果用户已登录，获取当前登录用户
        player = Player.objects.get(user=user)
        # 返回一个包含成功结果、用户名和玩家照片URL的JSON响应
        return JsonResponse({
            'result': "success",
            'username': player.user.username,
            'photo': player.photo,
        })

# 定义一个通用的视图函数，用于根据请求的平台分发到相应的处理函数
def getinfo(request):
    # 从请求的GET参数中获取平台信息
    platform = request.GET.get('platform')
    # 如果平台是"ACAPP"，则调用getinfo_acapp函数处理请求
    if platform == "ACAPP":
        return getinfo_acapp(request)
    # 对于WEB情况调用getinfo_web函数处理请求
    elif platform == "WEB":
        return getinfo_web(request)
